One major problem with native device applications is handling new versions and any associated new features. Often times device applications are configured to receive and parse data objects or structures provided to the applications from servers. The applications will usually expect certain data objects or structures which the applications are programmed to handle. However, as developers iterate on the versions of the applications, new features can be added to the updated applications. These new features may use new data objects and/or structures provided by the servers. However, whereas the updated applications are configured to handle new data objects and/or structures, old applications that have not been updated won't be able to properly handle these new data objects and/or structures.
The traditional solutions to this problem include either ignoring new data objects or stopping supporting older versions of the application, hosting the entire application on the server (e.g. web applications), maintaining backward compatibility of the server by tailoring information based on the version of the application, and/or creating one or more unused data structures for that application which are initially unused and intended for use as future developments are made on the application. However, none of these solutions allow for native, legacy applications to take advantage of new features. Thus, it would be beneficial if old applications could have forward compatibility with new features, data structures, and/or data objects that are developed without having to update the application.
The detailed description that follows provides several embodiments and advantages of the system of the present disclosure. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures, whereas showings therein are for purposes of illustrating embodiments of the present disclosure and not for purposes of limiting the same.